; ///// Bed Heater Fault Detection Settings /////
var msg = ""

M291 R"Bed Fault Detection" P"Select bed heater fault detection level:" S4 K{"Sensitive","Moderate","Off"}

if input == 0
  ; ---- Sensitive (default) ----
  set var.msg = "Fault detection monitors heaters and sensors for malfunctions."
  set var.msg = var.msg ^ "<br><br><b>This is a software safety feature only.</b>"
  set var.msg = var.msg ^ "<br>Do not rely solely on this feature."
  set var.msg = var.msg ^ "<br><b>Never leave the printer unattended.</b>"
  M291 R"Safety Notice" P{var.msg} S3
  if result != 0
    abort "Cancelled by user"
  echo >"0:/sys/user/actions/BedFaultDetection.g" "M570 H2 P60 T50 R5 ; Sensitive fault detection"
  M570 H2 P60 T50 R5
  echo "Bed fault detection set to: Sensitive"
elif input == 1
  ; ---- Moderate ----
  set var.msg = "Moderate mode relaxes fault detection to reduce false triggers."
  set var.msg = var.msg ^ "<br><br>This <b>reduces protection</b> against failures."
  set var.msg = var.msg ^ "<br><b>Never leave the printer unattended.</b>"
  M291 R"Reduced Protection" P{var.msg} S3
  if result != 0
    abort "Cancelled by user"
  echo >"0:/sys/user/actions/BedFaultDetection.g" "M570 H2 P600 T300 R30 ; Moderate fault detection"
  M570 H2 P600 T300 R30
  echo "Bed fault detection set to: Moderate"
else
  ; ---- Off ----
  set var.msg = "By pressing OK you confirm:<br><br>"
  set var.msg = var.msg ^ "<b>Fault detection will be DISABLED.</b>"
  set var.msg = var.msg ^ "<br>Malfunctions will NOT be detected"
  set var.msg = var.msg ^ " and may cause fire or damage."
  set var.msg = var.msg ^ "<br><b>Never leave printer unattended.</b>"
  set var.msg = var.msg ^ "<br>You accept all risks."
  M291 R"WARNING - Disabling Protection" P{var.msg} S3
  if result != 0
    abort "Cancelled by user"
  echo >"0:/sys/user/actions/BedFaultDetection.g" "M570 H2 P999999 T999999 R50 ; Fault detection OFF"
  M570 H2 P999999 T999999 R50
  echo "Bed fault detection set to: OFF"